<template>
 <div class="cmt-container">
    <h3>发表评论</h3>
    <hr>
    <textarea placeholder="请输入要BB的内容（做多吐槽120字）" maxlength="120" v-model='txt'></textarea>

    <button type="primary" size="large" @click='commentPublish'>发表评论</button>

    <div class="cmt-list">
      <div class="cmt-item" v-for="(item, i) in comments" :key="item.add_time">
        <div class="cmt-title">
          第{{ i+1 }}楼&nbsp;&nbsp;用户：{{ item.user_name }}&nbsp;&nbsp;发表时间：{{ item.add_time | dataForm }}
        </div>
        <div class="cmt-body">
          {{ item.content === 'undefined' ? '此用户很懒，嘛都没说': item.content }}
        </div>
      </div>

    </div>

    <button type="danger" size="large" @click='getMore' >加载更多</button>
  </div>
</template>

<script>
import { toast } from 'mint-ui'
export default{
    data(){
        return {
            comments:[],
            pageIndex:1 ,//默认页数
            txt:''
        }
    },
    created(){
        this.getCommentList()
    },
    methods:{
        getCommentList(){
            this.$http.get("api/getcomments/"+this.id+"?pageindex="+this.pageIndex).then(res=>{
                if(res.body.status === 0){
                    this.comments = this.comments.concat(res.body.message);
                    // console.log(this.comments);
                    
                }else{
                    toast('请求评论数据错误')
                }
            })
        },
        getMore(){
            this.pageIndex++;
            this.getCommentList()
        },
        commentPublish(){
            //首先进行判断，判断内容是否为空
            if(this.txt.trim() === ''){
               return toast('评论内容为空，请再次输入内容')
            }
            //进行http请求
            //post的参数
            //第一个参数：是url地址
            //第二个参数：提交给服务器的数据对象
            //第三个参数：是提交数据时的数据格式
            this.$http.
            post('api/postcomment/'+this.$route.params.id,{content:this.txt.trim()})
            .then(function(res){
                if(res.body.status === 0){
                    //如果请求到数据了
                    //我们自己配置一条数据，将其添加到自己的数据列表中
                    let cmt = {
                        user_name:'匿名用户',
                        add_time:Date.now(),
                        content:this.txt,
                    };
                    this.comments.unshift(cmt)
                }else{
                    toast('评论数据添加失败')
                }
            })
        }
    },
    props:["id"]
}
</script>

<style lang="scss" scoped>
.cmt-container {
  h3 {
    font-size: 18px;
  }
  textarea {
    font-size: 14px;
    height: 85px;
    margin: 0;
  }

  .cmt-list {
    margin: 5px 0;
    .cmt-item {
      font-size: 13px;
      .cmt-title {
        line-height: 30px;
        background-color: #ccc;
      }
      .cmt-body {
        line-height: 35px;
        text-indent: 2em;
      }
    }
  }
}
</style>
